go语言结构体的定义

您所在的位置:网站首页 golang define go语言结构体的定义

go语言结构体的定义

#go语言结构体的定义| 来源: 网络整理| 查看: 265

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:

go语言没有面向对象的概念了,但是可以使用结构体来实现,面向对象编程的一些特性,例如:继承、组合等特性。

go语言结构体的定义

上一节我们介绍了类型定义,结构体的定义和类型定义类似,只不过多了一个struct关键字,语法结构如下:

type struct_variable_type struct { member definition; member definition; ... member definition; }

type:结构体定义关键字

struct_variable_type:结构体类型名称

struct:结构体定义关键字

member definition:成员定义

实例

下面我们定义一个人的结构体Person

type Person struct { id int name string age int email string }

以上我们定义一个Person结构体,有四个成员,来描述一个Person的信息。

同类型的可以合并到一行,例如:

type Person struct { id, age int name, email string } 声明一个结构体变量

声明一个结构体变量和声明一个普通变量相同,例如:

package main import "fmt" type Person struct { id, age int name, email string } func main() { var tom Person fmt.Printf("tom: %v\n", tom) kite := Person{} fmt.Printf("kite: %v\n", kite) }

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go" tom: {0 0 } kite: {0 0 }

结构体成员,在没有赋值之前都是零值。

访问结构体成员

可以使用点运算符(.),来访问结构体成员,例如:

package main import "fmt" func main() { type Person struct { id, age int name, email string } var tom Person tom.id = 1 tom.name = "tom" tom.age = 20 tom.email = "[email protected]" fmt.Printf("tom: %v\n", tom) }

运行结果如下:

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go" tom: {1 20 tom [email protected]} 匿名结构体

如果结构体是临时使用,可以不用起名字,直接使用,例如:

package main import "fmt" func main() { var dog struct { id int name string } dog.id = 1 dog.name = "花花" fmt.Printf("dog: %v\n", dog) }


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3